package br.gov.mi.corporativo.dominio.boundary.rhmi.funcionarioendereco;

import java.util.List;

import javax.inject.Inject;
import javax.jws.WebService;

import org.springframework.stereotype.Component;
import org.springframework.transaction.annotation.Transactional;

import br.gov.mi.corporativo.dominio.entidade.rhmi.FuncionarioEndereco;
import br.gov.mi.corporativo.dominio.repositorio.rhmi.FuncionarioEnderecoRepositorio;
import br.gov.mi.infraestrutura.crud.CrudServicoImpl;

@Component
@Transactional(readOnly=true)
@WebService(endpointInterface = "br.gov.mi.corporativo.dominio.boundary.rhmi.funcionarioendereco.FuncionarioEnderecoEndPoint")
public class FuncionarioEnderecoServico extends CrudServicoImpl<FuncionarioEndereco, Long, FuncionarioEnderecoRepositorio>  implements FuncionarioEnderecoEndPoint{

	@Inject
	public void setRepository(FuncionarioEnderecoRepositorio repositorio) {
		super.setRepositorio(repositorio);
	}

	@Override
	public FuncionarioEndereco recuperarPorIdFuncionarioEndereco(Long idFuncionarioEndereco) {
		return repositorio.findByIdFuncionarioEndereco(idFuncionarioEndereco);
	}

	@Override
	public List<FuncionarioEndereco> recuperarPorFuncionario(Long funcionario) {
		return repositorio.findByFuncionario(funcionario);
	}

	@Override
	public List<FuncionarioEndereco> recuperarPorIdTipoEndereco(Long idTipoEndereco) {
		return repositorio.findByIdTipoEndereco(idTipoEndereco);
	}

	@Override
	public List<FuncionarioEndereco> recuperarPorIdMunicipio(Long idMunicipio) {
		return repositorio.findByIdMunicipio(idMunicipio);
	}

	@Override
	public List<FuncionarioEndereco> recuperarPorDsLogradouro(String dsLogradouro) {
		return repositorio.findByDsLogradouro(dsLogradouro);
	}

	@Override
	public List<FuncionarioEndereco> recuperarPorDsComplemento(String dsComplemento) {
		return repositorio.findByDsComplemento(dsComplemento);
	}

	@Override
	public List<FuncionarioEndereco> recuperarPorNmBairro(String nmBairro) {
		return repositorio.findByNmBairro(nmBairro);
	}

	@Override
	public List<FuncionarioEndereco> recuperarPorNrCep(String nrCep) {
		return repositorio.findByNrCep(nrCep);
	}

	@Override
	public List<FuncionarioEndereco> recuperarPorStCorrespondencia(String stCorrespondencia) {
		return repositorio.findByStCorrespondencia(stCorrespondencia);
	}

	@Override
	public List<FuncionarioEndereco> recuperarPorStRegistro(String stRegistro) {
		return repositorio.findByStRegistro(stRegistro);
	}

	
	
}
